#ifndef __M2716_H
#define __M2716_H

#include "main.h"

extern uint8_t M_4_Char[];

// 定义M2716的地址线和数据线端口
#define M2716_ADDR_PORT GPIOB
#define M2716_DATA_PORT GPIOA
// 定义M2716的控制信号端口和引脚（EP是program端口，GP是输出使能端口，只有读的时候才给它使能，编程时不使能。二者皆为低电平有效）
#define M2716_GP_PIN GPIO_PIN_0
#define M2716_GP_PORT GPIOC
#define M2716_EP_PIN GPIO_PIN_1
#define M2716_EP_PORT GPIOC
// 定义VPP控制引脚
#define M2716_VPP_CTRL_PIN GPIO_PIN_10
#define M2716_VPP_CTRL_PORT GPIOC

// 增加编程电压控制宏
#define VPP_25V HAL_GPIO_WritePin(M2716_VPP_CTRL_PORT, M2716_VPP_CTRL_PIN, GPIO_PIN_SET)
#define VPP_5V HAL_GPIO_WritePin(M2716_VPP_CTRL_PORT, M2716_VPP_CTRL_PIN, GPIO_PIN_RESET)

void M2716_3_Write(uint16_t addrsta,uint8_t data,uint16_t size,uint16_t delayus);//连续写入
uint16_t M2716_4_Read(uint16_t addrsta,uint16_t size);//连续读_4
uint16_t M2716_9_Read(uint16_t addrsta,uint16_t size,uint16_t time);//验证读_9